package com.phiture.erp.produce.dal.entity;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;

/**
 * 生产任务 DO
 *
 * @author YH
 */
@TableName("erp_production_task")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ErpProductionTaskDO extends BaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    /**
     * 任务单编号
     */
    private String productionTaskNo;
    /**
     * 主计划编码
     */
    private String productMainPlanNo;
    /**
     * 物料ID
     */
    private Long materialId;
    /**
     * 物料编码
     */
    private String materialNumber;
    /**
     * 物料名称
     */
    private String materialName;
    /**
     * 物料规格
     */
    private String materialSpec;
    /**
     * 物料单位名称
     */
    private String materialUnit;
    /**
     * 计划生产数量
     */
    private BigDecimal plannedQuantity;
    /**
     * 实际生产数量
     */
    private BigDecimal actualQuantity;
    /**
     * 工艺路线ID
     */
    private Long produceRoutingId;
    /**
     * 优先级(1-紧急 2-高 3-中 4-低)
     */
    private Integer priority;
    /**
     * 状态(1-待生产 2-生产中 3-已完成 4-已取消)
     */
    private Integer status;
    /**
     * 开工时间
     */
    private LocalDate startDate;
    /**
     * 完工时间
     */
    private LocalDate endDate;
    /**
     * 备注
     */
    private String remark;

    /**
     * 开工时间
     */
    private Date startDateActual;

    /**
     * 完工时间
     */
    private Date endDateActual;

    /**
     * 合格数量
     */
    private BigDecimal qualifiedQuantity;

    /**
     * 报废数量
    */
    private BigDecimal scrapQuantity;

    /**
     * 报废原因
     */
    private String scrapReason;



}